#region Using directives

using System;
using System.Collections.Generic;
using System.Text;

#endregion

namespace Weazel.Gezel.Simulator.Reference
{
  /// <summary>
  /// Provides a common base for the various
  /// display classes
  /// </summary>
  abstract class AbstractDisplay
  {
    /// <summary>
    /// Should be overridden by display elements
    /// which care about radixes
    /// </summary>
    /// <param name="base">the radix to use for string conversion</param>
    public virtual void SetBase(int @base)
    {
      // do nothing
    }

    /// <summary>
    /// Called when the signalflowgraph which contains the
    /// $display is activated and causes the $display to
    /// output its contents to the output buffer
    /// </summary>
    /// <param name="generation">simulation cycle</param>
    /// <param name="buffer">output buffer</param>
    public abstract void Show(long generation, StringBuilder buffer);
  }
}
